Neurostimulation therapy optimization based on a rated session log

ABSTRACT

An implantable medical device delivers neurostimulation therapy to a patient according to a parameter set. A parameter set may consist of a number of programs that are delivered substantially simultaneously. When programming the implantable medical device for the patient, a clinician programmer may maintain a session log for the patient that includes a listing of programs delivered to the patient and rating information provided by a clinician and the patient for programs of the list. The listing may be ordered according to the rating information in order to facilitate the selection of programs for a parameter set. A program library that may include particularly effective programs organized according to a directory structure may be stored in a memory. One or both of the implantable medical device and a patient programmer may store usage information that provides an objective assessment of therapy use by the patient, and allows a clinician to later improve the therapy based on the usage information.

TECHNICAL FIELD

[0001] The invention relates to neurostimulation therapy and, moreparticularly, to management of information relating to neurostimulationtherapy and delivery of neurostimulation therapy.

BACKGROUND

[0002] Implantable medical devices may be used to deliverneurostimulation therapy to patients to treat a variety of symptoms orconditions such as chronic pain, tremor, Parkinson's disease, epilepsy,incontinence, or gastroparesis. An implantable medical device maydeliver neurostimulation therapy via leads that include electrodeslocated proximate to the spinal cord, pelvic nerves, or stomach, orwithin the brain of a patient. In general, the implantable medicaldevice delivers neurostimulation therapy in the form of electricalpulses.

[0003] A clinician may select values for a number of programmableparameters in order to define the neurostimulation therapy to bedelivered to a patient. For example, the clinician may select a voltageor current amplitude and pulse width for a stimulation waveform to bedelivered to the patient, as well as a rate at which the pulses are tobe delivered to the patient. The clinician may also select as parametersparticular electrodes within an electrode set to be used to deliver thepulses, and the polarities of the selected electrodes. A group ofparameter values may be referred to as a program in the sense that theydrive the neurostimulation therapy to be delivered to the patient.

[0004] The process of selecting values for the parameters that provideadequate results can be time consuming, and may require a great deal oftrial and error before a “best” program, e.g., a program that is betterin terms of clinic efficacy versus side effects experienced than otherprograms tested, is discovered. The clinician may be required to makenotations describing a number of programs and feedback received from thepatient regarding the perceived efficacy of each program. The clinicianmay then select the “best” program based on the notations.

[0005] Even after this often-lengthy process, the selected program maybe inadequate to alleviate all of the symptoms of the patient. Thesymptoms may vary throughout the day or depending on the position of thepatient, e.g., standing, sitting, lying down, etc. Additionally, thesymptoms may change over a longer period of time such that the selectedprogram is no longer effective, often requiring the clinician to startthe program selection process anew.

SUMMARY

[0006] In general, the invention is directed to techniques formanagement of information relating to neurostimulation therapy anddelivery of neurostimulation therapy. An implantable medical devicedelivers neurostimulation therapy to a patient according to a parameterset. A parameter set contains one or more programs that can be deliveredto the patient. Each program includes a group of parameter values. Theone or more programs of a parameter set may be delivered to the patientsubstantially simultaneously. For example, each pulse may deliverneurostimulation therapy according to a different program. In thismanner, multiple programs may be delivered, e.g., to treat multiplesymptoms.

[0007] A clinician programs neurostimulation therapy for the patientusing a clinician programmer. The clinician specifies programs to treatvarious symptoms of the patient, and groups some of the specifiedprograms into a parameter set. In accordance with the invention,multiple parameter sets may be created, and the parameter sets may betransmitted to one or both of the implantable medical device and apatient programmer.

[0008] The clinician may specify a program using the clinicianprogrammer by selecting values for various program parameters, such aspulse amplitude, pulse width, and pulse rate, and by selecting which ofthe electrodes of the electrode set implanted within the patient willdeliver pulses, and polarities of selected electrodes. When a program isspecified, the clinician may test the program on the patient bydirecting the clinician programmer to control the implantable medicaldevice to deliver neurostimulation therapy. In particular, the clinicianprogrammer may transmit the program to the implantable medical device sothat the implantable medical device delivers neurostimulation therapyaccording to the transmitted program. The clinician may receive feedbackfrom the patient regarding the perceived effectiveness and side effectsassociated with the delivered program.

[0009] While the clinician is programming the implantable medical devicefor the patient, the clinician programmer may maintain a session log forthe patient that includes a listing of programs tested on the patientand rating information provided by the clinician and the patient forprograms of the list. The rating information may be entered by theclinician using the clinician programmer, and may include informationrelating to effectiveness of delivery of neurostimulation therapyaccording to the program in treating symptoms of the patient, sideeffects experienced by the patient due to the delivery ofneurostimulation therapy according to the program, or both. The listingmay be ordered according to the rating information in order tofacilitate the selection of programs from the list for a parameter setby the clinician. The session log for the patient may be stored in anon-volatile medium or database for future reference by the clinician,and may be updated by the clinician during follow-up visits by thepatient.

[0010] In one embodiment, the invention is directed to a methodcomprising controlling an implantable medical device to deliverneurostimulation therapy to a patient according to a neurostimulationtherapy program, recording rating information relating to effectivenessof delivery of neurostimulation therapy according to the program intreating symptoms of the patient and side effects experienced by thepatient due to the delivery of neurostimulation therapy according to theprogram in response to the delivery, and associating the program and therating information in a memory.

[0011] In another embodiment, the invention is directed to a devicecomprising a memory to store information, and a processor to control animplantable medical device to deliver neurostimulation therapy to apatient according to a neurostimulation therapy program, record ratinginformation relating to effectiveness of delivery of neurostimulationtherapy according to the program in treating symptoms of the patient andside effects experienced by the patient due to the delivery ofneurostimulation therapy according to the program in response to thedelivery, and associate the program and the rating information in thememory.

[0012] In an added embodiment, the invention is directed to acomputer-readable medium, comprising instructions that cause a processorto control an implantable medical device to deliver neurostimulationtherapy to a patient according to a neurostimulation therapy program,and record rating information relating to effectiveness of delivery ofneurostimulation therapy according to the program in treating symptomsof the patient and side effects experienced by the patient due to thedelivery of neurostimulation therapy according to the program inresponse to the delivery, and associate the program and the ratinginformation in a memory.

[0013] In a further embodiment, the invention provides a methodcomprising storing information identifying neurostimulation therapyprograms tested on a patient during a programming session and ratinginformation associated with each of the neurostimulation therapyprograms that relates to effectiveness of delivery of neurostimulationtherapy according to the programs in treating symptoms of the patientand side effects experienced by the patient due to the delivery ofneurostimulation therapy according to the programs in a memory as partof a session log for programming session, and displaying a list of theidentified programs and associated rating information via a display.

[0014] In another embodiment, the invention provides a device comprisinga display to display information to a user, a memory to store a sessionlog for a patient that includes information identifying neurostimulationtherapy programs tested on the patient during a programming session andrating information associated with each of the neurostimulation therapyprograms that relates to effectiveness of delivery of neurostimulationtherapy according to the programs in treating symptoms of the patientand side effects experienced by the patient due to the delivery ofneurostimulation therapy according to the programs, and a processor todisplay a list of the identified programs and associated ratinginformation via the display.

[0015] In an added embodiment, the invention provides acomputer-readable medium comprising instructions that cause a processorto store a session log for a patient that includes informationidentifying neurostimulation therapy programs tested on the patientduring a programming session and rating information associated with eachof the neurostimulation therapy programs that relates to effectivenessof delivery of neurostimulation therapy according to the programs intreating symptoms of the patient and side effects experienced by thepatient due to the delivery of neurostimulation therapy according to theprograms in a memory, and display a list of the identified programs andassociated rating information via a display.

[0016] The invention may provide a number of advantages. For example, bymaintaining a session log during programming of neurostimulation therapyfor the patient, a clinician programmer may allow the clinician to moreeasily and quickly identify which of the programs tested on the patientto include in parameter sets that will be used for delivery ofneurostimulation therapy to the patient. The clinician may use theclinician programmer to record feedback received from the patientregarding tested programs as rating information. The tested programs maybe listed, and the list may include the rating information.

[0017] The list may be ordered according to the rating information toallow the clinician to more quickly identify preferred programs. In someembodiments, the rating information may relate to a number of metricsfor evaluating neurostimulation therapy, and the list may be orderedaccording to a metric selected by the clinician. The session log alsofacilitates redelivery and comparison of listed programs in order to,for example, select between programs with similar ratings. The sessionlog allows the clinician to determine which programs are preferredwithout relying on human memory or handwritten notes.

[0018] Storing the session log for the patient in a non-volatile mediumor database may allow the clinician to more easily update theneurostimulation therapy for the patient at a follow-up visit in theevent that the symptoms of the patient or their severity changes. Theratings of programs may be updated over time, and a record of theneurostimulation therapy provided to the patient may be maintained. Thesession log may be used as proof of the extent of the service providedby the clinician for reimbursement, or the quality of the services inthe event of malpractice accusations.

[0019] The details of one or more embodiments of the invention are setforth in the accompanying drawings and the description below. Otherfeatures, objects, and advantages of the invention will be apparent fromthe description and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

[0020]FIG. 1 is a diagram illustrating an example system for managingdelivery of neurostimulation therapy to a patient and informationrelating to neurostimulation therapy according to the invention.

[0021]FIG. 2 is a block diagram illustrating an example implantablemedical device for delivering neurostimulation therapy to a patientaccording to a parameter set and collecting neurostimulation therapyusage information.

[0022]FIG. 3 is a block diagram illustrating an example patientprogrammer that allows a patient to control delivery of neurostimulationtherapy by an implantable medical device, and collects neurostimulationtherapy usage information.

[0023]FIG. 4 is a block diagram illustrating an example clinicianprogrammer that allows a clinician to program neurostimulation therapyfor a patient by creating parameter sets.

[0024]FIG. 5-10 are diagrams illustrating an example graphical userinterface that may be provided by a clinician programmer to allow aclinician to program neurostimulation therapy using a session log.

[0025]FIG. 11 is a flowchart illustrating a method that may be employedby a clinician programmer to allow a clinician to programneurostimulation therapy using a session log.

[0026]FIG. 12 is a flowchart illustrating another method that mayemployed by a clinician programmer to allow a clinician to programneurostimulation therapy using a session log.

[0027]FIG. 13 is a diagram illustrating an example graphical userinterface that may be provided by a patient programmer to allow apatient to control delivery of neurostimulation therapy by animplantable medical device.

[0028]FIG. 14 is a flowchart illustrating a method that may be employedby one or both of a patient programmer and an implantable medical deviceto allow a patient to control neurostimulation therapy and recordneurostimulation therapy usage information.

[0029]FIG. 15-17 are diagrams illustrating a graphical user interfacethat may be provided by a clinician programmer in order to provide usageinformation to a clinician.

[0030]FIG. 18 is a method that may be employed by a clinician programmerto suggest neurostimulation therapy adjustments based on usageinformation.

DETAILED DESCRIPTION

[0031]FIG. 1 is a diagram illustrating an example system 10 for managingdelivery of neurostimulation therapy to a patient 12 and informationrelating to neurostimulation therapy according to the invention. System10 includes an implantable medical device 14 that deliversneurostimulation therapy to patient 12. IMD 14 may be an implantablepulse generator, and may deliver neurostimulation therapy to patient 12in the form of electrical pulses.

[0032] IMD 14 delivers neurostimulation therapy to patient 12 via leads16A and 16B (collectively “leads 16”). Leads 16 may, as shown in FIG. 1,be implanted proximate to the spinal cord 18 of patient 12, and IMD 14may deliver spinal cord stimulation (SCS) therapy to patient 12 in orderto, for example, reduce pain experienced by patient 12. However, theinvention is not limited to the configuration of leads 16 shown in FIG.1 or the delivery of SCS therapy. For example, one or more leads 16 mayextend from IMD 14 to the brain (not shown) of patient 12, and IMD 14may deliver deep brain stimulation (DBS) therapy to patient 12 to, forexample, treat tremor or epilepsy. As further examples, one or moreleads 16 may be implanted proximate to the pelvic nerves (not shown) orstomach (not shown), and IMD 14 may deliver neurostimulation therapy totreat incontinence or gastroparesis.

[0033] IMD 14 delivers neurostimulation therapy according to parametersets. A parameter set includes at least one neurostimulation therapyprogram. Each program may include values for a number of parameters, andthe parameter values define the neurostimulation therapy deliveredaccording to that program. In embodiments where IMD 14 deliversneurostimulation therapy in the form of electrical pulses, theparameters may include voltage or current pulse amplitudes, pulsewidths, pulse rates, and the like. Further, each of leads 16 includeselectrodes (not shown in FIG. 1), and the parameters for a program mayinclude information identifying which electrodes have been selected fordelivery of pulses according to the program, and the polarities of theselected electrodes.

[0034] Each program of a parameter set may be designed to address aparticular symptom of patient 12. For example, in the case of SCS, eachprogram may be designed to reduce the pain experienced by patient 12 ina different location of the body of patient 12. Further, IMD 14 maydeliver neurostimulation therapy according to multiple programs of aparameter set at substantially the same time. For example, inembodiments where IMD 14 delivers neurostimulation therapy as electricalpulses, each pulse may be delivered according to a different program ofthe parameter set. Thus, a series of n pulses may deliver therapyaccording to n different programs. Delivery of neurostimulation therapyaccording to parameter sets may allow IMD 14 to address the symptoms ofpatient 12 more completely than if single program therapies weredelivered. Moreover, substantially simultaneous delivery of the programsof a parameter set may make the delivery of neurostimulation therapymore comfortable for patient 12 to the extent that it prevents patient12 from sensing program changes.

[0035] System 10 also includes a clinician programmer 20. Clinicianprogrammer 20 may, as shown in FIG. 1, be a handheld computing device.Clinician programmer 20 includes a display 22, such as a LCD or LEDdisplay, to display information to a user. Clinician programmer 20 mayalso include a keypad 24, which may be used by a user to interact withclinician programmer 20. In some embodiments, display 22 may be a touchscreen display, and a user may interact with clinician programmer 20 viadisplay 22. A user may also interact with clinician programmer 20 usingperipheral pointing devices, such as a stylus or mouse. Keypad 24 maytake the form of an alphanumeric keypad or a reduced set of keysassociated with particular functions.

[0036] A clinician (not shown) may use clinician programmer 20 toprogram neurostimulation therapy for patient 12. As will be described ingreater detail below, the clinician may select existing programs orspecify programs by selecting program parameter values, and test theselected or specified programs on patient 12. The clinician may receivefeedback from patient 12, and store information identifying the programsand rating information associated with the programs as a session log forpatient 12. The clinician may use the session log to more quickly selecteffective programs to be included in parameter sets for delivery ofneurostimulation therapy for patient 12.

[0037] System 10 also includes a patient programmer 26, which also may,as shown in FIG. 1, be a handheld computing device. Patient programmer26 may also include a display 28 and a keypad 30, to allow patient 12 tointeract with patient programmer 26. In some embodiments, display 26 maybe a touch screen display, and patient 12 may interact with patientprogrammer 26 via display 28. Patient 12 may also interact with patientprogrammer 26 using peripheral pointing devices, such as a stylus ormouse.

[0038] Patient 12 may use patient programmer 26 to control the deliveryof neurostimulation therapy by IMD 14. Patient 12 may use patientprogrammer 26 to activate or deactivate neurostimulation therapy and, aswill be described in greater detail below, may use patient programmer 26to select the parameter set that will be used by IMD 14 to deliverneurostimulation therapy from one or more lists of parameter sets.Further, patient 12 may use patient programmer 26 to make adjustments toparameter sets, as will be described in greater detail below.

[0039] Allowing patient 12 greater control over the delivery ofneurostimulation therapy within limits set by the clinician usingpatient programmer 26 may lead to more effective therapy and efficientuse of clinician time. Patient 12 may be able to select parameter setsand make adjustments in order to address changes in symptoms, which mayoccur throughout the day, or based on changes in the position, posture,or activity of the patient. These modifications and improvements toneurostimulation therapy may occur without clinician intervention.Further, the clinician may be able to spend less time initiallyprogramming neurostimulation therapy for patient 12 by providing avariety of parameter sets at implant from which patient 12 may choose,allowing patient 12 to experiment with the parameter sets, and optimize,improve, or tailor the neurostimulation therapy over time.

[0040] Parameter sets programmed by the clinician using clinicianprogrammer 20 may be transmitted to and stored within one or both ofpatient programmer 26 and IMD 14. Where the parameter sets are stored inpatient programmer 26, patient programmer 26 may transmit the parameterset selected by patient 12 to IMD 14 for delivery of neurostimulationtherapy to patient 12 according to the selected parameter set. Where theparameter sets are stored in IMD 14, patient programmer 26 may receive alist of parameter sets from IMD 14 to display to patient 12, andtransmit an indication of the selected parameter set to IMD 14 fordelivery of neurostimulation therapy to patient 12 according to theselected parameter set.

[0041] IMD 14, clinician programmer 20 and patient programmer 26 may, asshown in FIG. 1, communicate via wireless communication. Clinicianprogrammer 20 and patient programmer 26 may, for example, communicatevia wireless communication with IMD 14 using RF telemetry techniquesknown in the art. Clinician programmer 20 and patient programmer 26 maycommunicate with each other using any of a variety of local wirelesscommunication techniques, such as RF communication according to the802.11 or Bluetooth specification sets, infrared communication accordingto the IRDA specification set, or other standard or proprietarytelemetry protocols. Clinician programmer 20 and patient programmer 26need not communicate wirelessly, however. For example, programmers 20and 26 may communicate via a wired connection, such as via a serialcommunication cable, or via exchange of removable media, such asmagnetic or optical disks, or memory cards or sticks. Further, clinicianprogrammer 20 may communicate with one or both of IMD 14 and patientprogrammer 26 via remote telemetry techniques known in the art,communicating via a local area network (LAN), wide area network (WAN),public switched telephone network (PSTN), or cellular telephone network,for example.

[0042]FIG. 2 is a block diagram illustrating an example configuration ofIMD 14. IMD 14 may deliver neurostimulation therapy via electrodes 40A-Hof lead 16A and electrodes 401-P of lead 16B (collectively “electrodes40”). Electrodes 40 may be ring electrodes. The configuration, type andnumber of electrodes 40 illustrated in FIG. 2 are merely exemplary.

[0043] Electrodes 40 are electrically coupled to a therapy deliverycircuit 42 via leads 16. Therapy delivery circuit 42 may, for example,include an output pulse generator coupled to a power source such as abattery. Therapy delivery circuit 42 may deliver electrical pulses topatient 12 via at least some of electrodes 40 under the control of aprocessor 44.

[0044] Processor 44 controls therapy delivery circuit 42 to deliverneurostimulation therapy according to a selected parameter set.Specifically, processor 44 may control circuit 42 to deliver electricalpulses with the amplitudes and widths, and at the rates specified by theprograms of the selected parameter set. Processor 44 may also controlcircuit 42 to deliver the pulses via a selected subset of electrodes 40with selected polarities, as specified by the programs of the selectedparameter set. Processor 44 may control circuit 42 to deliver each pulseaccording to a different program of the parameter set. Processor 44 mayinclude a microprocessor, a controller, a DSP, an ASIC, an FPGA,discrete logic circuitry, or the like.

[0045] IMD 14 also includes a memory 46. In some embodiments, memory 46may store parameter sets 48 that are available to be selected by patient12 for delivery of neurostimulation therapy. In some embodiments,processor 44 may record usage information 50, and store usageinformation 50 in memory 46. Memory 46 may also include programinstructions that, when executed by processor 44, cause IMD 14 toperform the functions ascribed to IMD 14 herein. Memory 46 may includeany volatile, non-volatile, fixed, removable, magnetic, optical, orelectrical media, such as a RAM, ROM, CD-ROM, hard disk, removablemagnetic disk, memory cards or sticks, NVRAM, EEPROM, flash memory, andthe like.

[0046] IMD 14 also includes a telemetry circuit 52 that allows processor44 to communicate with clinician programmer 20 and patient programmer26. Processor 44 may receive programs to test on patient 12 fromclinician programmer 20 via telemetry circuit 52 during programming by aclinician. Where IMD 14 stores parameter sets 48 in memory 46, processor44 may receive parameter sets 48 from clinician programmer 20 viatelemetry circuit 52 during programming by a clinician, and laterreceive parameter set selections made by patient 12 from patientprogrammer 26 via telemetry circuit 52. Where patient programmer 26stores the parameter sets, processor 44 may receive parameter setsselected by patient 12 from patient programmer 26 via telemetry circuit52.

[0047]FIG. 3 is a block diagram illustrating an example configuration ofpatient programmer 26. Patient 12 may interact with a processor 60 via auser interface 62 in order to control delivery of neurostimulationtherapy as described herein. User interface 62 may include display 28and keypad 30, and may also include a touch screen or peripheralpointing devices as described above. Processor 60 may also provide agraphical user interface (GUI) to facilitate interaction with patient12, as will be described in greater detail below. Processor 60 mayinclude a microprocessor, a controller, a DSP, an ASIC, an FPGA,discrete logic circuitry, or the like.

[0048] Patient programmer 26 also includes a memory 64. In someembodiments, memory 64 may store parameter sets 66 that are available tobe selected by patient 12 for delivery of neurostimulation therapy. Insome embodiments, processor 60 may record usage information 68, andstore usage information 68 in memory 64. Memory 64 may also includeprogram instructions that, when executed by processor 60, cause patientprogrammer 26 to perform the functions ascribed to patient programmer 26herein. Memory 64 may include any volatile, non-volatile, fixed,removable, magnetic, optical, or electrical media, such as a RAM, ROM,CD-ROM, hard disk, removable magnetic disk, memory cards or sticks,NVRAM, EEPROM, flash memory, and the like.

[0049] Patient programmer 26 also includes a telemetry circuit 70 thatallows processor 60 to communicate with IMD 14, and input/outputcircuitry 72 that to allow processor 60 to communicate with clinicianprogrammer 20. Processor 60 may receive parameter set selections made bypatient 12 via user interface 62, and may either transmit the selectionor the selected parameter set to IMD 14 via telemetry circuitry 70 fordelivery of neurostimulation therapy according to the selected parameterset. Where patient programmer 26 stores parameter sets 66 in memory 64,processor 60 may receive parameter sets 66 from clinician programmer 20via input/output circuitry 72 during programming by a clinician.Circuitry 72 may include transceivers for wireless communication,appropriate ports for wired communication or communication via removableelectrical media, or appropriate drives for communication via removablemagnetic or optical media.

[0050]FIG. 4 is a block diagram illustrating an example configuration ofclinician programmer 20. A clinician may interact with a processor 80via a user interface 82 in order to program neurostimulation therapy forpatient 12 as described herein. User interface 82 may include display 22and keypad 24, and may also include a touch screen or peripheralpointing devices as described above. Processor 80 may also provide agraphical user interface (GUI) to facilitate interaction with aclinician, as will be described in greater detail below. Processor 80may include a microprocessor, a controller, a DSP, an ASIC, an FPGA,discrete logic circuitry, or the like.

[0051] Clinician programmer 20 also includes a memory 84. Memory 84 mayinclude program instructions that, when executed by processor 80, causeclinician programmer 20 to perform the functions ascribed to clinicianprogrammer 20 herein. Memory 84 may include any volatile, non-volatile,fixed, removable, magnetic, optical, or electrical media, such as a RAM,ROM, CD-ROM, hard disk, removable magnetic disk, memory cards or sticks,NVRAM, EEPROM, flash memory, and the like.

[0052] A clinician may program neurostimulation therapy for patient 12by specifying programs or selecting previously specified program to teston patient 12. The clinician may interact with the GUI and userinterface 82 in order to specify programs, or to select programs from aprogram library 86 that includes previously specified programs. Programlibrary 86 may be stored within a non-volatile medium of memory 84.Processor 80 transmits the selected or specified programs to IMD 14 fordelivery to patient 12 via a telemetry circuit 88.

[0053] Processor 80 may maintain a session log 90 for patient 12 duringprogramming of neurostimulation therapy for patient 12 by the clinician.Upon delivery of a selected or specified program, clinician may receivefeedback relating to the tested program from patient 12, and enterrating information relating to the tested program via the GUI and userinterface 82. Processor 80 may store information identifying testedprograms and associated rating information as part of session log 90.Information identifying tested programs may include the parameters forthe tested programs. Processor 80 may present a listing of testedprograms and associated rating information to the clinician in order tofacilitate selection of programs to create parameter sets. Session logs90 may be stored in a volatile medium of memory 84, or may be storedwithin a non-volatile medium of memory 84, e.g. within a database ofpatient information.

[0054] Processor 80 may transmit parameter sets created by the clinicianto IMD 14 via telemetry circuitry 88, or to patient programmer 26 viainput/output circuitry 92. In this manner, processor 80 may be used tocontrol IMD 14 to deliver neurostimulation therapy for purposes ofevaluating effectiveness of particular programs. I/O circuitry 92 mayinclude transceivers for wireless communication, appropriate ports forwired communication or communication via removable electrical media, orappropriate drives for communication via removable magnetic or opticalmedia.

[0055]FIG. 5-10 are diagrams illustrating an example graphical userinterface (GUI) 100 that may be provided by clinician programmer 20 toallow a clinician to program neurostimulation therapy for patient 12using a session log 90. The configuration of GUI 100 illustrated in FIG.5-10 is merely exemplary and is provided for purposes of illustration.

[0056]FIG. 5 illustrates a portion of GUI 100 that may be used by aclinician to locate and retrieve programs stored as program library 86within a memory. The clinician may use GUI 100 to select a programstored within program library 86 to test on patient 12. Storing programswithin program library 86 may allow the clinician to quickly retrieveprograms that have been previously identified as particularly effectiveprograms. Thus, the clinician may not need to start from a blank slatein order to program neurostimulation therapy for each new patient 12.

[0057] Programs may be stored within program library 86 according to aset of hierarchical categories. Each category may be related to acharacteristic of neurostimulation therapy programs. For example,programs may be stored within program library 86 according to adirectory structure that is structured according to the hierarchicalcategories. Exemplary categories include IMD types, lead types, leadconfigurations, therapy indications, symptoms, body regions, patienttypes, clinician names, and patient names. As shown in FIG. 5, GUI 100may include fields 102 and 104 to allow the clinician to navigate adirectory structure of program library 86 and locate a program therein.Field 102 may identify a body region, whereas field 104 may identifyprograms according to a variety of identifiers such as physician name.The directory structure of program library 86 may allow the clinician tomore easily locate relevant programs within program library 86.

[0058]FIG. 6 illustrates a portion of GUI 100 that may be used by aclinician to specify a new program to test on patient 12. GUI 100 may,as shown in FIG. 6, include a field 110 which the clinician may use toname a new program for the session log 90. GUI 100 also includes fields112-116, which the clinician may use to program parameter values such aspulse amplitude, pulse width and pulse rate for the new program, and afield 118, which the clinician may use to select particular electrodes40 and assign polarities of selected electrodes 40 for the program. Insome embodiments, programs imported from program library 86 may bedisplayed via this portion of GUI 100 for renaming or modification.

[0059]FIG. 7 illustrates a portion of GUI 100 that may be used by aclinician to enter rating information for a program tested on patient12. Rating information may include information relating to the degree ofeffectiveness of the tested program in treating symptoms of patient 12and the degree of side effects experienced by patient 12 due to thedelivery of neurostimulation therapy according to the program.Effectiveness of a program may encompass both the coverage area providedby the program and degree of symptom relief. Rating information mayalso, for example, include information relating to the performance ofIMD 14 during delivery of neurostimulation according to the program.

[0060] Rating information may include information relating to at leastone metric for rating the program, and may, as illustrated in FIG. 7,include numerical values. For example, as shown in FIG. 7, the clinicianis prompted to enter a numerical rating for the effectiveness of thetested program using field 120. Multiple metrics may be used. Forexample, the clinician may provide a rating for the severity of sideeffects in general, for specific side effects, or for more particularmeasures of the effectiveness of a particular type of therapy. Forexample, different metrics may be applicable to pain, movementdisorders, and gastrointestinal disorders. The clinician may select themetrics to be used to evaluate tested programs.

[0061] Field 120 is merely exemplary, and numerical values for metricsmay be entered using any type of field, such as a text box, drop-downmenu, slider-bar, or the like. Moreover, rating information is notlimited to numerical values, and may also, for example, includepercentages or textual descriptions of the effectiveness, side-effects,and the like. The clinician may use fields 122-126 to identify thelocation of the effectiveness of the tested program as reported bypatient 12, and this location information may be used as a name for thetested program within session log 90.

[0062]FIG. 8 illustrates a portion of GUI 100 that may be used byclinician programmer 20 to present a list 130 of the programs identifiedwithin session log 90 and associated rating information. As shown inFIG. 8, list 130 may be ordered according to the rating information. Inembodiments where more than one metric is used to rate programs, list130 may be ordered according to a metric selected by the clinician, oran overall rating may be calculated based on a number of metrics, andthe list may be ordered according to the overall rating. For an overallrating, weighting factors, which may be selected by the clinician, maybe applied to the metrics.

[0063] Ordering of list 130 according to rating information mayfacilitate comparison of the programs and quick program selection by theclinician. The clinician may select program from list 130 for inclusionin parameter sets based on the rating information. List 130 may alsofacilitate retransmission of multiple programs from list 130 to IMD 14for side-by-side comparison, e.g., if multiple programs directed towarda particular symptom are closely rated. In such embodiments, clinicianprogrammer 20 may prompt the clinician to add one of the comparedprograms to a parameter set, or remove one of the compared programs. Insome embodiments, clinician programmer 20 may automatically selectprograms from session log 90 for inclusion in a parameter set based onthe rating information.

[0064] Where a program is particularly ineffective, the clinician may“blacklist” the program using field 132 (“BL”) to indicate that theprogram is undesired. Clinician programmer 20 may store an indicationthat the program is blacklisted, i.e., undesired based onineffectiveness or side effects within session log 90. Blacklisting ofprograms within session log 90 may allow the clinician to more easilyavoid retrying particularly ineffective programs with patient 12, e.g.,during reprogramming at a follow-up visit. Blacklisted programs withinsession log 90 may be removed from list 130, or identified within list130 using highlighting, text effects, a symbol, or the like.

[0065]FIG. 9 illustrates a portion of GUI 100 that may be used by theclinician to review and approve the parameter sets created. As shown inFIG. 9, GUI 100 may provide fields 140-144 for selection of a parameterset. GUI 100 may display a summary 146 of the parameters of each programwithin a selected parameter set. Clinician may approve the parametersets using field 148, and clinician programmer 20 may then transmit theparameter sets to one or both of IMD 14 via telemetry circuit 88 andpatient programmer 26 via input/output circuit 92.

[0066]FIG. 10 illustrates a portion of GUI 100 that may be used by theclinician to store programs that appear particularly effective, e.g.,from the programming session or after a follow-up visit, within programlibrary 86. As shown in FIG. 10, GUI 100 may display a list 150 ofprograms from session log 90 and associated rating information. Theclinician may select a program from list 150, and name it for storage inprogram library using field 152. Although not shown in FIG. 10, theclinician may categorize the program via GUI 100 so that the program isstored appropriately according to the directory structure of programlibrary 86.

[0067] List 150 may also be created based on programs stored within IMD14 or patient programmer 26 at a follow-up visit. Patient 12 may haveadjusted these programs. Thus, the clinician may also store effectiveprograms discovered by patient 12 in program library 86. Moreover,programs may be identified during a follow-up visit based on thefrequency of their use by patient 12 reflected in usage information50,68 stored by one or both of IMD 14 and patient programmer 26. Usageinformation 50,68 pertaining to a program selected for inclusion inprogram library 86, or a summary thereof, may be stored in programlibrary 86 with the program.

[0068]FIG. 11 is a flowchart illustrating a method that may be employedby clinician programmer 20 to allow a clinician to programneurostimulation therapy using session log 90. Clinician programmer 20receives a program to test that is selected from program library 86, orspecified by the clinician (160), and transmits the program to IMD 14 tocontrol delivery of neurostimulation therapy according to the program(162). The clinician receives feedback from patient 12, and recordsrating information as described above (164).

[0069] Clinician programmer 20 displays a list 130 of programs andrating information from session log 90 (166), which may be orderedaccording to the rating information, and may update the list after eachnew program is tested (168). When the clinician has completed testingprograms, clinician programmer 20 may receive selections from list 130for creation of parameter sets (170). Clinician programmer 20 may alsoreceive selections made by the clinician for addition to program library86 (172).

[0070]FIG. 12 is a flowchart illustrating another method that may beemployed by clinician programmer 20 to allow a clinician to programneurostimulation therapy using session log 90. In particular, FIG. 12illustrates a method that may be employed by clinician programmer 20 tofacilitate retransmission and side-by-side comparison of programs storedwithin session log 90. Clinician programmer 20 receives selections madeby the clinician from list 130, and retransmits the selected programs toIMD 14 to control delivery of neurostimulation therapy according to theretransmitted programs (180). After delivery according to theretransmitted programs, clinician programmer 20 may prompt the clinicianto select one or more of the compared programs for addition to aparameter set or removal from list 130, receive a selection made by theclinician, and add or remove the selected programs (182-186).

[0071]FIG. 13 is a diagram illustrating an example GUI 190 that may beprovided by patient programmer 26 to allow patient 12 to controldelivery of neurostimulation therapy by IMD 14. In general, parametersets stored within one or both of IMD 14 and patient programmer 26 andavailable for selection or adjustment by patient 12 may be organizedinto one or more lists. Patient 12 may scroll through a list ofavailable parameters sets using field 192 of GUI 190. A name for eachparameter set and an indication as to which parameter set is currentlyactivated may be displayed via field 192.

[0072] A field 194 may allow patient 12 to scroll through the variousparameters of the programs of a selected parameter set. Patient 12 mayselect a parameter, and adjust the value of that parameter within limitsestablished by a clinician. Patient 12 may also make adjustments to thevalue of a particular parameter throughout all of the programs of aparameter set, e.g., if patient 12 is experiencing increased pain at alllocations, patient 12 may increase the pulse amplitude of all programswithin the currently active set. Where adjustments are made to aparticular parameter throughout all of the programs of a parameter set,the adjustment may be scaled for each program in order to maintain aratiometric balance between the programs.

[0073] Shortcuts may be provided to frequently used parameter sets. Forexample GUI 190 may provide icons for direct activation of frequentlyused parameter sets. Keys of keypad 30 may also be associated withfrequently used parameter sets, and used by patient 12 for directactivation of those parameter sets.

[0074]FIG. 14 is a flowchart illustrating a method that may be employedby one or both of patient programmer 26 and IMD 14 to allow patient 12to control delivery of neurostimulation therapy, and recordneurostimulation therapy usage information 50, 68. Patient programmer 26displays a list of parameter sets 48, 66 (200), and receives a parameterset selection made by patient 12 (202). In embodiments where parametersets 48 are stored by IMD 14, patient programmer 26 may receive list ofparameter sets from IMD 14.

[0075] If patient programmer 26 receives a command from patient toactivate the selected parameter set (204), patient programmer 26 willdirect IMD 14 to deliver neurostimulation therapy according to theselected parameter set (206). In embodiments where parameter sets 66 arestored by patient programmer 26, patient programmer 26 transmits theselected parameter set to IMD 14. In embodiments where parameter sets 48are stored by IMD 14, patient programmer 26 may transmit an indicationof the selected parameter set to IMD 14.

[0076] One or both of patient programmer 26 and IMD 14 may also recordparameter set usage information 50, 68 by recording which set wasselected and the time of set activation (208). Patient programmer 26and/or IMD) 14 may alternatively record usage information 50, 68 byperiodically determining whether therapy is activated and whichparameter set is active.

[0077] Patient programmer 26 displays programs and program parametersfor the selected parameter set (210). Patient programmer 26 may receivean adjustment to the selected parameter set (212) from the patient, andapply the adjustment to a selected parameter for a single program or forthe entire parameter set (214). Where parameter sets 48 are stored inIMD 14, or where the parameter set is active, patient programmer 26 maydirect IMD 14 to apply the adjustment. One or both of patient programmer26 and IMD 14 may record usage information 50,68 by recording theadjustment made and the time of adjustment (216).

[0078]FIG. 15-17 are diagrams illustrating techniques that may beemployed by clinician programmer 26 to present neurostimulation therapyusage information 50,68 to a clinician via GUI 100. The invention is notlimited to the illustrated forms of presenting usage information to theclinician, however. A variety of diagrams, histograms, charts, graphs,summaries, or the like may be used to present usage information 50,68 tothe clinician. As one example in addition to the forms of presentingusage information discussed below, clinician programmer may present atrend graph or the like illustrating the value of a program parameter,such as amplitude, over time.

[0079] As shown in FIG. 15, clinician programmer 26 may present ahistogram 220 that illustrates percentages of the total neurostimulationtherapy use for each parameter set. Histogram 220 may be used by theclinician to determine which parameter sets were preferred or effective,and which parameter sets were not preferred or ineffective. Theclinician may eliminate unused parameter sets, and add additionalparameter sets that are similar to the preferred or effective parametersets. Clinician programmer 20 may mark unused parameter sets for removalfrom a list. A similar histogram may be used to illustrate percentagesof the total neurostimulation therapy use for individual programs.

[0080]FIG. 16 illustrates a calendar-view diagram 230 that may bepresented by clinician programmer 26. Diagram 230 illustrates overalltherapy usage each day, and may be used by the clinician to evaluateday-to-day changes in the symptoms of patient 12. Similar diagrams maybe used to illustrate month-to-month, or week-to-week changes in therapyusage. Trends in the data illustrated by diagram 230 may suggest a needto provide new parameter sets or programs to address changes in symptomsof patient 12.

[0081]FIG. 17 illustrates a day-view diagram 240 that may be presentedby clinician programmer 26. For a selected day, diagram 240 illustrateswhich, if any, parameter set was activated at any given time. Diagram240 also illustrates the time of adjustments to parameter sets madeduring the day. Diagram 240 may be used by the clinician to evaluatecyclical changes in the activity or symptoms of patient 12 throughout aday. Trends in the data illustrated by diagram 240 may suggest aparticular activity or time of day for which new parameter sets orprograms would be beneficial.

[0082]FIG. 18 is a method that may be employed by clinician programmer20 to suggest neurostimulation therapy adjustments based on usageinformation 50,68. Clinician programmer 20 receives usage information50,68 from one or both of IMD 14 and patient programmer 26 (250), andpresents usage information 50,68 to the clinician as described above(252). Clinician programmer 20 analyzes usage information 50,68 (254),and suggests therapy adjustments based on the analysis (256). Forexample, clinician programmer 20 may identify a frequently usedparameter set, and suggest that additional programs that are similar tothe programs of the frequently used parameter set be added to thetherapy for patient 12. Clinician programmer 20 may identify additionalprograms by comparing the programs of the frequently used parameter setto programs located within at least one of session log 86 and programlibrary 90. Clinician programmer 20 may also identify infrequently usedparameter sets and mark them for removal from a list. By analyzing theusage information and suggesting therapy modifications to the clinician,the clinician programmer may reduce the amount of time necessary for theclinician to have an effective follow-up visit with patient 12.

[0083] Various embodiments of the invention have been described.However, one skilled in the art will appreciate that variousmodifications may be made to these embodiments without departing fromthe scope of the invention. For example, although the non-volatilemedium that stores program library 90 has been described as integralwith clinician programmer 20, or a removable medium for clinicianprogrammer 20, the non-volatile medium may be located on a computerseparate from clinician programmer 20. Clinician programmer 20 maycommunicate with the computer via any of the wireless or wired methodsdiscussed above, or input/output circuitry 92 may include a networkinterface to access program library 90 via a computer network.

[0084] Further, program libraries 90 may facilitate program sharing. Aprogram library 90 or portion thereof containing recommended programsmay be distributed by, for example, an implantable medical device orlead manufacturer, or various luminaries in the relevant medicaldisciplines. Such distributions may occur via a computer network such asthe World Wide Web, or by distribution of removable media containing theprograms. Clinicians within a single hospital or practice group mayshare a program library 90 stored on a computer available on a localarea network. Clinicians may also share programs via wired or wirelessconnections between clinician programmers 20. For example, clinicians ata medical conference may, in this manner, share programs that they havefound to be particularly effective.

[0085] As another example, IMD 14 and/or patient programmer 20 mayrecord information in addition to the usage information. Informationrelating to patterns of navigation of GUI 190 by patient 12 using userinterface 82 of patient programmer 26 and patient programmer 26 featureuse may also be recorded, as well as information relating to theperformance of IMD 14 and patient programmer 26, such as informationrelating to battery life, battery performance, power-on resets, resetsand telemetry success. Performance information provided to the clinicianmay allow the clinician to identify and resolve technical problems ofone or both of IMD 14 and patient programmer 26, increasing patientsatisfaction with system 10. Navigation pattern and feature useinformation may be provided to a manufacturer of one or both of theimplantable medical device and the patient programmer and used in futureproduct development efforts, allowing the manufacturer to provide moreuser friendly patient programmers 26 to patients 12 in the future. Theseand other embodiments are within the scope of the following claims.

1. A method comprising: controlling an implantable medical device todeliver neurostimulation therapy to a patient according to aneurostimulation therapy program; recording rating information relatingto effectiveness of delivery of neurostimulation therapy according tothe program in treating symptoms of the patient and side effectsexperienced by the patient due to the delivery of neurostimulationtherapy according to the program in response to the delivery; andassociating the program and the rating information in a memory.
 2. Themethod of claim 1, wherein recording rating information comprisesreceiving the rating information from a user.
 3. The method of claim 2,wherein the user is a clinician.
 4. The method of claim 1, wherein theinformation relating to effectiveness of delivery of neurostimulationtherapy includes information relating to at least one of coverage areaand degree of symptom relief provided by delivery of neurostimulationaccording to the program.
 5. The method of claim 1, wherein the ratinginformation includes information relating to a plurality of metrics forrating the program.
 6. The method of claim 5, wherein the ratinginformation includes numerical values for at least some of the metrics.7. The method of claim 6, wherein recording the rating informationcomprises: displaying a user input field for one of the metrics to theuser via a display; and receiving a numerical value selected by a userusing the user input field.
 8. The method of claim 1, wherein the ratinginformation includes information relating to performance of theimplantable medical device while delivering neurostimulation therapyaccording to the program.
 9. The method of claim 1, wherein associatingthe program and the rating information comprises storing informationidentifying the program and the associated rating information as part ofa session log that includes information identifying neurostimulationtherapy programs tested on the patient during a programming session andrating information associated with the programs tested on the patient.10. The method of claim 9, further comprising: controlling theimplantable medical device to deliver neurostimulation therapy accordingto each of a plurality of neurostimulation programs; and storinginformation identifying one of the programs as part of the session log.11. The method of claim 9, wherein storing information identifying theprogram comprises storing information identifying neurostimulationtherapy parameters for the program.
 12. The method of claim 11, whereinthe parameters include at least one of a pulse amplitude, a pulse width,a pulse rate, selected electrodes, and polarities of selectedelectrodes.
 13. The method of claim 1, further comprising: storing anindication that the program is an undesired program; and providing avisual indication that the program is undesired.
 14. A devicecomprising: a memory to store information; and a processor to control animplantable medical device to deliver neurostimulation therapy to apatient according to a neurostimulation therapy program, record ratinginformation relating to effectiveness of delivery of neurostimulationtherapy according to the program in treating symptoms of the patient andside effects experienced by the patient due to the delivery ofneurostimulation therapy according to the program in response to thedelivery, and associate the program and the rating information in thememory.
 15. The device of claim 14, wherein the processor receives therating information from a user.
 16. The device of claim 15, wherein theuser is a clinician.
 17. The device of claim 14, wherein the informationrelating to effectiveness of delivery of neurostimulation therapyincludes information relating to at least one of coverage area anddegree of symptom relief provided by delivery of neurostimulationaccording to the program.
 18. The device of claim 14, wherein the ratinginformation includes information relating to a plurality of metrics forrating the program.
 19. The device of claim 18, wherein the ratinginformation includes numerical values for at least some of the metrics.20. The device of claim 19, further comprising a display, wherein theprocessor receives rating information by displaying a user input fieldfor one of the metrics via the display, and receiving a numerical valueselected by a user using the user input field.
 21. The device of claim14, wherein the rating information includes information relating toperformance of the implantable medical device while deliveringneurostimulation therapy according to the program.
 22. The device ofclaim 14, wherein the processor stores information identifying theprogram and the associated rating information as part of a session logthat includes information identifying neurostimulation therapy programstested on the patient during a programming session and ratinginformation associated with the programs tested on the patient.
 23. Thedevice of claim 22, wherein the processor controls the implantablemedical device to deliver neurostimulation therapy according to aplurality of neurostimulation programs, and stores informationidentifying one of the transmitted programs as part of the session log.24. The device of claim 22, wherein the processor stores informationidentifying neurostimulation therapy parameters for the program.
 25. Thedevice of claim 24, wherein the parameters include at least one of apulse amplitude, a pulse width, a pulse rate, selected electrodes, andpolarities of selected electrodes.
 26. The device of claim 14, furthercomprising a display, wherein the processor stores an indication thatthe program is an undesired program, and provides a visual indicationthat the program is undesired via the display.
 27. A computer-readablemedium, comprising instructions that cause a processor to: control animplantable medical device to deliver neurostimulation therapy to apatient according to a neurostimulation therapy program; record ratinginformation relating to effectiveness of delivery of neurostimulationtherapy according to the program in treating symptoms of the patient andside effects experienced by the patient due to the delivery ofneurostimulation therapy according to the program in response to thedelivery; and associate the program and the rating information in amemory.
 28. The computer-readable medium of claim 27, wherein theinstructions cause a processor to receive the rating information from auser.
 29. The computer-readable medium of claim 28, wherein the user isa clinician.
 30. The computer-readable medium of claim 27, wherein theinformation relating to effectiveness of delivery of neurostimulationtherapy includes information relating to at least one of coverage areaand degree of symptom relief provided by delivery of neurostimulationaccording to the program.
 31. The computer-readable medium of claim 27,wherein the rating information includes information relating to aplurality of metrics for rating the program.
 32. The computer-readablemedium of claim 31, wherein the rating information includes numericalvalues for at least some of the metrics.
 33. The computer-readablemedium of claim 32, wherein the instructions cause a processor to:display a user input field for one of the metrics via a display; andreceive a numerical value selected by a user using the user input field.34. The computer-readable medium of claim 27, wherein the ratinginformation includes information relating to performance of theimplantable medical device while delivering neurostimulation therapyaccording to the program.
 35. The computer-readable medium of claim 27,wherein the instructions cause a processor to store informationidentifying the program and the associated rating information as part ofa session log that includes information identifying neurostimulationtherapy programs tested on the patient during a programming session andrating information associated with the programs tested on the patient.36. The computer-readable medium of claim 35, wherein the instructionscause a processor to: control the implantable medical device to deliverneurostimulation therapy according to each of a plurality ofneurostimulation programs; and store information identifying one of theprograms as part of the session log from the user.
 37. Thecomputer-readable medium of claim 35, wherein the instructions thatcause a processor to store information identifying the program compriseinstructions that cause a processor to store information identifyingneurostimulation therapy parameters for the program.
 38. Thecomputer-readable medium of claim 37, wherein the parameters include atleast one of a pulse amplitude, a pulse width, a pulse rate, selectedelectrodes, and polarities of selected electrodes.
 39. Thecomputer-readable medium of claim 27, further comprising instructionsthat cause a processor to: store an indication that the program is anundesired program; and provide a visual indication that the program isundesired.
 40. A method comprising: storing information identifyingneurostimulation therapy programs tested on a patient during aprogramming session and rating information associated with each of theprograms that relates to effectiveness of delivery of neurostimulationtherapy according to the programs in treating symptoms of the patientand side effects experienced by the patient due to the delivery ofneurostimulation therapy according to the programs in a memory as partof a session log for the programming session; and displaying a list ofthe identified programs and associated rating information via a display.41. The method of claim 40, further comprising receiving the ratinginformation from a clinician.
 42. The method of claim 40, wherein therating information includes information relating to performance of theimplantable medical device while delivering neurostimulation therapyaccording to the programs.
 43. The method of claim 40, whereindisplaying a list comprises displaying a list of the programs orderedaccording to the rating information.
 44. The method of claim 43, whereinthe rating information includes information relating to a plurality ofmetrics for rating the programs.
 45. The method of claim 44, whereindisplaying a list comprises displaying a list ordered according toselection of one or more of the metrics by a user.
 46. The method ofclaim 44, wherein displaying a list comprises: calculating an overallrating for each of the programs of the session log based on at leastsome of the metrics; and displaying a list of the programs orderedaccording to the overall ratings.
 47. The method of claim 46, whereincalculating an overall rating comprises applying weighting factors to atleast some of the metrics.
 48. The method of claim 44, wherein therating information includes numerical values for at least some of themetrics.
 49. The method of claim 40, further comprising: receiving aprogram selection made by a user from the list; and including theselected program within a parameter set.
 50. The method of claim 40,further comprising: receiving a program selection made by a user fromthe list; and storing the selected program as part of a program librarywithin a memory according to a set of hierarchical categories thatrelate to characteristics of neurostimulation programs.
 51. The methodof claim 50, wherein storing the selected program as part of a programlibrary comprises discarding at least some of the informationidentifying the selected program and the rating information associatedwith the selected program.
 52. The method of claim 51, whereindiscarding at least some of the information identifying the selectedprogram comprises discarding amplitude information.
 53. The method ofclaim 40, further comprising prompting a user to select at least one oftwo compared programs for removal from the list.
 54. The method of claim40, further comprising prompting a user to select at least one of twocompared programs for inclusion in a parameter set.
 55. The method ofclaim 40, further comprising automatically selecting programs identifiedin the session log for inclusion in a parameter set based on the ratinginformation.
 56. A device comprising: a display to display informationto a user; a memory to store a session log for a patient that includesinformation identifying neurostimulation therapy programs tested on thepatient during a programming session and rating information associatedwith each of the programs that relates to effectiveness of delivery ofneurostimulation therapy according to the programs in treating symptomsof the patient and side effects experienced by the patient due to thedelivery of neurostimulation therapy according to the programs; and aprocessor to display a list of the identified programs and associatedrating information via the display.
 57. The device of claim 56, whereinthe processor receives the rating information from a clinician.
 58. Thedevice of claim 56, wherein the rating information includes informationrelating to performance of the implantable medical device whiledelivering neurostimulation therapy according to the program.
 59. Thedevice of claim 56, wherein the processor displays the list of theprograms ordered according to the rating information.
 60. The device ofclaim 59, wherein the rating information includes information relatingto a plurality of metrics for rating the programs, and wherein theprocessor displays the list ordered according to a metric selected by auser.
 61. The device of claim 59, wherein the processor calculates anoverall rating for each of the programs based on at least some of themetrics, and displays the list ordered according to the overall ratings.62. The device of claim 56, wherein the processor receives a programselection made by a user from the list, and includes the selectedprogram within a parameter set.
 63. The device of claim 56, wherein theprocessor selects programs identified in the session log for inclusionin a parameter set based on the rating information.
 64. Acomputer-readable medium comprising instructions that cause a processorto: store a session log for a patient that includes informationidentifying neurostimulation therapy programs tested on the patientduring a programming session and rating information associated with eachof the neurostimulation therapy programs that relates to effectivenessof delivery of neurostimulation therapy according to the programs intreating symptoms of the patient and side effects experienced by thepatient due to the delivery of neurostimulation therapy according to theprograms in a memory; and display a list of the identified programs andassociated rating information via a display.
 65. The computer-readablemedium of claim 64, further comprising instructions that cause aprocessor to receive the rating information from a clinician.
 66. Thecomputer-readable medium of claim 64, wherein the instructions cause aprocessor to display the list of the programs ordered according to therating information.
 67. The computer-readable medium of claim 66,wherein the rating information includes information relating to aplurality of metrics for rating the program, and wherein theinstructions cause a processor to display the list ordered according toa metric selected by a user.
 68. The computer-readable medium of claim66, wherein the instructions cause a processor to calculate an overallrating for each of the programs of the session log based on at leastsome of the metrics, and display the list ordered according to theoverall ratings.
 69. The computer-readable medium of claim 64, furthercomprising instructions that cause a processor to: receive a programselection made by a user from the list; and include the selected programwithin a parameter set.
 70. The computer-readable medium of claim 64,further comprising instructions that cause a processor to selectprograms identified in the session log for inclusion in a parameter setbased on the rating information.